# 不修改func的情况下添加func1的功能
#1、现将arg=func传进来
#2、然后执行func1自己的函数print('这是func1')（外部），再执行print('这是func')(内部）
#3、返回arg,然后再次调用arg(),相当于func1(func)()
#写法一
def func1(arg):
    print('这是func1')
    return arg
@func1
def func():
    print('这是func')
func()

#写法二
def func1(arg):
    print('这是func1')
    return arg
def func():
    print('这是func')
func1(func)()

#写法三
#先执行func1再执行func
def func1():
    print('这是func1')
    def func():
        print('这是func')
    return func
func1()()